【PHP】(object)array()と(array)$objectとは?オブジェクトを連想配列に、連想配列をオブジェクトに変換する方法 | 您所在的位置:网站首页 › php array_unique object › 【PHP】(object)array()と(array)$objectとは?オブジェクトを連想配列に、連想配列をオブジェクトに変換する方法 |
PHPでオブジェクトから配列に変換、および、配列からオブジェクトに変換する方法について。 オブジェクトを配列に変換する方法(array)配列をオブジェクトに変換する方法 (object)補足まとめオブジェクトを配列に変換する方法(array)(array) を使うとオブジェクトを配列に変換することができる。 例えば、通常はクラスの中で定義したプロパティにアクセスするためには「->」を使う必要がある。 配列化をすれば[‘キー名’]で値を抜き出すことができる。 配列化した時の注意点は、public $変数名 = [ ] の場合に、変数名がキーとなり 変数名 => [ ] となること。 実例class Test { public $arr = [ 'key1' => 'val1' , 'key2' => 'val2' , 'key3' => 'val3' , ]; } $obj = new Test; //インスタンス(オブジェクト)を生成 var_dump((array)$obj);#出力結果 array(1) { ["arr"]=> array(3) { ["key1"]=> string(4) "val1" ["key2"]=> string(4) "val2" ["key3"]=> string(4) "val3" } }オブジェクトが配列になっていることがわかる。public $arrのkey2の値にアクセスしたい場合は、(array)$obj[‘arr’][‘key1’]で取得できる。 class Test { public $arr = [ 'key1' => 'val1' , 'key2' => 'val2' , 'key3' => 'val3' , ]; } $obj = new Test; $arr2 = (array)$obj; echo $arr2['arr']['key1'];#出力結果 val1配列をオブジェクトに変換する方法 (object)(object)配列 とすることで、配列をオブジェクトに変換できる。 $arr = [ 'key1' => 'val1' , 'key2' => 'val2' , 'key3' => 'val3' , ]; var_dump((object)$arr);#出力結果 object(stdClass)#1 (3) { ["key1"]=> string(4) "val1" ["key2"]=> string(4) "val2" ["key3"]=> string(4) "val3" }オブジェクトになったので、key1の値を取得したい場合は $arr[‘key1’] ではなく「->」でプロパティとして指定する必要がある。 $arr = [ 'key1' => 'val1' , 'key2' => 'val2' , 'key3' => 'val3' , ]; $obj = (object)$arr; echo $obj->key1;#出力結果 val1補足なお、配列に対して(array)を、オブジェクトに対して(object)を指定しても、変化は起こらず元のままとなる。 まとめPHPの中で変数の冒頭に、(array)や(object)があったら、その形に変換しますよという意味になる。 必要に応じて使いまわせると便利。 |
CopyRight 2018-2019 实验室设备网 版权所有 |